home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
lantools
/
blueprnt
/
bpbios.asm
< prev
next >
Wrap
Assembly Source File
|
1989-09-27
|
3KB
|
86 lines
;*************************************************************
;* Blueprint LAN BIOS Device Driver (BPBIOS.ASM, BPBIOS.ASM) *
;* by Craig Chaiken *
;* June 20, 1989 *
;*************************************************************
include bpbioshd.mod
code segment
assume cs:code,ds:code,es:code;
org 100h
start: jmp install
maxnode db 0
include misc.mod
include physical.mod
include datalink.mod
include applicat.mod
include console.mod
control_interrupt proc far
push bx
cmp ah,get_nodes
jnz cont_1
mov al,cs:maxnode
jmp cont_5
cont_1: cmp ah,set_nodes
jnz cont_2
mov cs:maxnode,al
jmp cont_5
cont_2: cmp ah,install_port
jnz cont_3
mov bl,cs:maxnode
xor bh,bh ;build offset for physical interrupt vector entry
push ax
add bx,bx
add bx,bx
add bx,bx
add bx,bx
add al,al
add al,al
xor ah,ah
add bx,ax
pop ax
mov word ptr cs:physical_interrupt_table[bx],dx ;install vector
mov word ptr cs:physical_interrupt_table[bx+2],ds
jmp cont_5
cont_3: cmp ah,next_port
jnz cont_4
inc cs:maxnode
jmp cont_5
cont_4: cmp ah,get_info
jnz cont_5
mov ax,word ptr cs:physical_interrupt_table[bx]+2
cont_5: pop bx
iret
control_interrupt endp
install proc near
mov ah,25h
mov al,ctrl_int
mov dx,offset control_interrupt
int 21h ;install bpbios control interrupt
mov ah,25h
mov al,phys_int
mov dx,offset physical_interrupt
int 21h ;install physical layer interrupt
mov ah,25h
mov al,link_int
mov dx,offset datalink_interrupt
int 21h ;install data link layer interrupt
mov ah,25h
mov al,appl_int
mov dx,offset application_interrupt
int 21h ;install application layer interrupt
mov dx,offset install+1
int 27h
install endp
code ends
end start
;*************************************************************
;* End of BPBIOS.ASM *
;*************************************************************